{{tag>dapper edgy feisty p2p bittorrent}}

----

====== mldonkey ======

<note interdite>
**Attention :** Nous vous rappelons qu'il est interdit d'utiliser ce logiciel à des fins illégales (piratage, contrefaçon ou toute autre activité étant considérée hors-la-loi par les lois en vigueur dans votre pays de résidence).
</note>

**mldonkey** est un client P2P multi-plateforme, pour le réseau edonkey2000 mais aussi bittorrent, fasttrack et bien d'autres.

Mldonkey est pour moi le meilleur client donkey sous linux.
Bien moins gourmand que amule, il ne nécessite pas d'interface graphique pour continuer à télécharger, et il existe de très beaux clients graphique notamment sancho (voir plus bas).

==== Objectifs ====

Cette page décrit l'installation et la configuration de **mldonkey** sous Ubuntu. On y aborde aussi quelques points délicats. Nous verrons également comment installer un client graphique afin de piloter la bête.

===== Installer mldonkey =====

[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **mldonkey-server** (activez auparavant les dépôts [[depots#universe_et_multiverse|universe et multiverse]])

Lors de l'installation une série de questions vous sera posée.
Répondez tout simplement aux questions en utilisant les choix par défauts.
Nous configurerons par la suite le démon de façon manuelle.

**NB :**
En effet lorsque j'ai essayé de configurer mldonkey en utilisant le script d'installation du paquet, il semble que mes choix n'aient pas été enregistrés.
Je préfère donc vous expliquer comment configurer le démon manuellement.

==== Premier lancement ====

Nous venons d'installer mldonkey. Vous ne trouverez pas d'entrée dans le menu applications concernant mldonkey puisque c'est un [[http://fr.wikipedia.org/wiki/Disk_and_execution_monitor|démon]] qui démarre au boot de votre ordinateur. Ensuite vous utiliserez un client graphique qui permettra de contrôler ce démon.

Pour lancer le démon tapez :
  sudo /etc/init.d/mldonkey-server restart

==== Lancement automatique ====

Afin de ne pas à avoir à lancer le démon à chaque démarrage, il vous faut [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] ''/etc/default/mldonkey-server'' et mettre le paramètre **LAUNCH_AT_STARTUP** à **true**.

Si pour une raison ou pour une autre vous voulez couper ou rallumer le démon mldonkey faites :

**Sous Feisty (en mode utilisateur) :**

__Pour le démarrer :__
  mlnet > /dev/null 2>&1 &

__Pour le stopper :__
  sudo killall mlnet

**En mode démon :**

__Pour le démarrer :__
  sudo /etc/init.d/mldonkey-server start

__Pour le stopper :__
  sudo /etc/init.d/mldonkey-server stop

===== Configuration du démon mldonkey =====




==== Configuration des répertoires ====

Comme tout bon logiciel de P2P, mldonkey a besoin de deux répertoires pour fonctionner :
  * Un répertoire **temp** dans lequel il stockera les fichiers en cours de téléchargement.
  * un répertoire **incoming** dans lequel il placera les fichiers téléchargés.

Par défaut ces deux répertoires se situent dans ''/var/lib/mldonkey'', ce qui n'est pas très pratique. Nous allons donc modifier le démon afin qu'il place ces répertoires dans votre dossier personnel.

Avant de toucher au fichier de configuration du démon nous devons éteindre celui ci :
  sudo /etc/init.d/mldonkey-server stop

Maintenant nous allons [[:tutoriel:comment_editer_un_fichier|éditer le fichier]] ''/var/lib/mldonkey/downloads.ini''\\
Il faut trouver la ligne contenant les paramètres **incoming_directory** et **temp_directory**, puis les remplacer par les répertoires de votre choix :

Ce qui donne par exemple :
  temp_directory = "/home/mondossierpersonnel/.mldonkey/temp"
  
  (* The directory where downloaded files should be moved after commit *)
  incoming_directory = "/home/mondossierpersonnel/.mldonkey/fini"

Bien sûr nous devons créer ces deux répertoires.

**Sous Feisty (en mode utilisateur)**

Les dossiers se trouve dans ''/home/mondossierpersonnel/.mldonkey'', le fichier à éditer est alors ''/home/mondossierpersonnel/.mldonkey/downloads.ini''

Trouvez la section pour les fichiers temporaires :
<file>temp_directory = "/home/mondossierpersonnel/.mldonkey/temp"</file>

Puis la section pour les répertoires de partage et de classement :
<file>
 shared_directories = [
  {     dirname = "/home/mondossierpersonnel/.mldonkey/shared"    ## dossier partagé
     strategy = only_directory
     priority = 0
};
  {     dirname = shared
     strategy = all_files
     priority = 0
};
  {     dirname = "/home/mondossierpersonnel/.mldonkey/incoming"    ## dossier fichiers finis edonkey
     strategy = incoming_files
     priority = 0
};
  {     dirname = "/home/mondossierpersonnel/.mldonkey/incoming"    ## dossier fichiers finis bittorrent
     strategy = incoming_directories
     priority = 0
};]
</file>


==== Configuration des droits====

Pour des raisons de sécurité, le démon mldonkey est lancé par l'utilisateur ''mldonkey'' appartenant au groupe ''mldonkey''.
Pour que ce dernier puisse aller écrire dans nos deux répertoires fraîchement crées, il faut modifier les droits :

On attribue les dossiers de mldonkey au groupe ''mldonkey'' :
  sudo chgrp -R mldonkey /home/mondossierpersonnel/mldonkey/*

Enfin on autorise seulement les utilsateurs du groupe mldonkey à lire et modifier ces répertoires :
  sudo chmod 660 -R /home/mondossierpersonnel/mldonkey/*

Comme l'utilisateur ''mldonkey'', appartient également au groupe ''mldonkey'' et que le démon est lancé par l'utilisateur ''mldonkey'', ce dernier pourra donc lire et écrire dans les répertoires définis.

**Sous Feisty (en mode utilisateur) cette étape n'est plus obligatoire.**

===== Installation d'un client graphique =====

Comme je l'ai dis mldonkey n'est que le coeur du système de téléchargement. Pour pouvoir le piloter facilement il vous faut un client graphique qui se connectera au démon et lui enverra des commandes. 

L'avantage est que vous pouvez fermer le client graphique, le démon lui, continue à télécharger. Donc vous pouvez fermer votre session gnome, et continuer à télécharger.

Un autre avantage est que vous pouvez configurer un PC dédié uniquement au téléchargement sur lequel tourne le démon, et piloter le téléchargement depuis un autre PC, ou même du bureau. Donc en résumé par exemple, un PC dans le salon qui fait du bruit et qui télécharge, un pc dans la chambre depuis lequel on lance les téléchargements et qu'on peut éteindre la nuit.

A ce propos, mldonkey fourni nativement une interface web pour piloter le démon. Elle est accessible par défaut sur le port 4080 (vous pouvez le changer dans la configuration de mldonkey) de la machine qui héberge le démon (vous pouvez donc accéder à votre interface web à l'adresse [[http://localhost:4080/]]).

Si vous avez défini un mot de passe à l'installation, un identifiant/mot de passe vous sera demandé à la connexion. L'identifiant est **admin** et le mot de passe est celui que vous avez rentré.

Si vous voulez l'utilisez à l'extérieur, vous pouvez facilement définir un reverse proxy dans apache qui pointera par exemple sur le dossier http://monsite/mldonkey.
Comme ca, depuis internet, vous pouvez lancer des téléchargements.

==== mlgui ====

Le premier client graphique que je vous présente est le plus simple à installer.\\
Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **mldonkey-gui**

Puis lancez le client avec la commande :
  mlgui







==== Sancho ====

Il existe plusieurs interfaces graphiques, ma préférée est sancho : http://sancho-gui.sourceforge.net/
Ce dernier devrait devenir le futur client graphique officiel à mldonkey.

C'est une interface gtk2 avec un icône dans le systray.

=== Installation ===

Récupérez l'archive de sancho ici : http://sancho-gui.sourceforge.net/download.phtml#linux-gtk

Choisissez la dernière version, aujourd'hui (27/04/2008) c'est : **sancho-0.9.4-58-linux-gtk.sh**.
Cette version fonctionne sur Hardy i386 et x86_64.

Nous supposerons que l'archive est téléchargée dans votre dossier personnel.

Créez le répertoire d'installation :
  sudo mkdir /usr/local/sancho

Maintenant exécutons le script d'installation :
  sudo sh ~/sancho-0.9.4-58-linux-gtk.sh

Le script vous demande où le logiciel doit être installé :
<file>Extract to directory [<sancho-0.9.4-58-linux-gtk>]:</file>

Taper donc ''/usr/local/sancho''

Sancho est installé. Nous allons lui créer une entrée dans le menu **Applications => internet**.

[[:tutoriel:comment_editer_un_fichier|Créez le fichier]] **/usr/share/applications/sancho.desktop** et mettez-y les lignes suivantes :
<file>
[Desktop Entry]
Name=Sancho
Comment=Sancho
Exec=/usr/local/sancho/sancho
Icon=/usr/local/sancho/distrib/sancho-32.xpm
Terminal=false
Type=Application
StartupNotify=false
Categories=Application;Network;
</file>

Les fichiers de configuration de sancho dans votre dossier personnel appartiennent à **root** (car vous avez lancé l'installation en tant qu'administrateur). Nous allons donc remettre le bon propriétaire (vous !) à ces fichiers :
  sudo chown -R utilisateur:utilsateur ~/.sancho
//(remplacez utilisateur par votre login bien sûr)//

Vous pouvez maintenant démarrer **sancho** depuis le menu **applications => internet**.

=== Mettre sancho en français ===

Récupérer le fichier de traduction [[http://sancho-gui.sourceforge.net/properties/8pid0jfwxqa2/sancho_fr_FR.properties|sancho_fr_FR.properties]] et copiez ce fichier dans le répertoire .sancho/ situé dans votre dossier personnel

**Si vous êtes sous Feisty, le fichier est déjà présent après l'installation.**

Démarrez **sancho**, allez dans **Tools => Preferences**. Dans la section **sancho:main**, dans l'onglet **General**, là où il y a écrit « Locale specific sancho*.properties file », choisissez **fr_FR** dans le menu déroulant puis redémarrez l'application.

Vous pouvez d'ailleurs supprimer les autres fichiers de langue que vous n'utilisez pas du répertoire ~/.sancho\\
Les fichiers de langues sont du type ''sancho_xx_XX.properties''\\
//par exemple : sancho_pl_PL.properties pour le polonais//

=== Dernière étape : se connecter à un serveur ===

La dernière étape et de se connecter à un serveur pour pouvoir lancer une recherche.

Cliquez sur l'onglet serveur.

En haut a droite cliquez sur la planète avec une croix verte intitulé "ajouter un fichier serveur.met" entrez-y l'adresse d'un fichier de serveur .met que vous récupèrerez sur des sites comme [[http://ed2k.2x4u.de]]

Il devrait aussi récupérer une liste d'autre serveurs.

NB : Il est plus sûr de désactiver les options de récupération automatique des serveurs afin d'éviter de recevoir des serveurs espions. Dans ce cas une liste de serveurs sûrs doit être récupérée en téléchargeant un des fichiers ".met" ci-dessus.

Une fois connecté lancez une recherche.

=== Lancement du démon avec l'interface graphique Sancho sous Feisty ===

Pour lancer le démon automatiquement au démarrage de Sancho et le couper à la fermeture de Sancho (a la manière de Amule) :
  mlnet -start_gui true -mldonkey_gui /usr/local/sancho/sancho

Puis vous pouvez simplement lancer mlnet, le serveur lancera toujours Sancho 

**N'oubliez pas d'autorisez Sancho a couper le serveur mldonkey lorsque vous quittez :**
 
 outils / préférences :
  * optional core executable : mlnet
  * cocher Kill spawned core when exiting sancho 

Pour revenir a la configuration par defaut, [[:tutoriel/comment_editer_un_fichier|éditez le fichier]] /home/mondossierpersonnel/.mldonkey/download.ini et cherchez la ligne mldonkey_gui 





===== Filtrage des IP ===== 

**Pour Feisty :**

Vous pouvez vous servir d'un ipfilter.dat en le placant dans le dossier **~/.mldonkey**

Pour la compatibilité d'un fichier ipfilter.dat :

  * récupérer un fichier :[[http://emulepawcio.sourceforge.net/nieuwe_site/Ipfilter_fakes/ipfilter.dat|Ipfilter.dat ]] ;
  * [[:tutoriel/comment_editer_un_fichier|éditez ce fichier]] et supprimer toutes les lignes (avec les #) avant la série de chiffre .

<note tip>Vous pouvez aussi utiliser [[recherche_ligne_commande#grep]] pour filtrer les lignes commentées (avec les #) : <code>grep -v ^# ipfilter.dat > ipfilter.p2p</code></note>

===== Ports utilisés =====

Si vous avez installé Sancho, cliquer sur l'onglet console et rentrer la commande **portinfo**, le résultat donne pour moi :
<code>
	--Portinfo--
Network   |  Port|Type
---------- ------ -------------------
BitTorrent|  6882|client_port TCP
BitTorrent|  6881|tracker_port TCP
Core      |  4080|http_port
Core      |  4000|telnet_port
Core      |  4001|gui_port
Donkey    | 4662|client_port TCP
Donkey    | 4666|client_port UDP
Donkey    | 14934|overnet_port TCP UDP
Donkey    | 4672|kademlia_port UDP
</code>

Pour changer les ports sous Feisty :

**ATTENTION : N'éditer pas ces fichiers si le démon est lancé.**

[[:tutoriel:comment_editer_un_fichier|éditez le fichier]] **~/.mldonkey/nomduprotocole.ini**

avec nomduprotocole :

  * Pour Edonkey, Overnet, Kademlia : éditer le fichier /home/mondossierpersonnel/.mldonkey/donkey.ini.

  * Pour Bittorrent : éditer le fichier /home/mondossierpersonnel/.mldonkey/bittorent.ini. (?bittorrent.ini)

etc...

===== Integration à Firefox =====

L'extension pour la prise en charge directe est disponible pour le protocole edonkey et bittorrent dans ce dossier :

**/usr/share/doc/mldonkey-server/distrib/ed2k_mozilla/mldonkey_protocol_handler-1.8.xpi** .

> **Pour l'installation aller voir [[firefox|Firefox]]** 

===== Un système d'analyse anti-virus et d'alerte =====

Dernier raffinement, vous pouvez vous créer un script (shell, php, perl, ...) qui sera lancé au démarrage et à la récupération d'un fichier.
Cela permet d'avertir l'utilisateur, de scanner avec un anti-virus le fichier récupéré, et même de le sortir de l'incoming, pour éviter les problèmes d'upload.
Allez voir dans downloads.ini, jusqu'a la commande file_completed.
Si il y en a que ca intéresse, je peux joindre la copie de mon script (home made 100% pas propre).



===== Enfin =====

Finalement, bon téléchargements. Mais n'oubliez pas de ne pas télécharger d'oeuvres soumises au droit d'auteur. Il existe des millions d'oeuvres libres de droits alors autant en profiter.

----

//Contributeur : [[utilisateurs:mathieu.vilaplana]], [[utilisateurs:Boris Le Hachoir]]//